# MainMenu.gd - 主菜单脚本
# 《光影之间》- 主菜单界面

extends Control

# 节点引用
@onready var new_game_button: Button = $VBoxContainer/NewGameButton
@onready var continue_button: Button = $VBoxContainer/ContinueButton
@onready var test_level_button: Button = $VBoxContainer/TestLevelButton
@onready var settings_button: Button = $VBoxContainer/SettingsButton
@onready var quit_button: Button = $VBoxContainer/QuitButton
@onready var version_label: Label = $VersionLabel

func _ready():
	print("主菜单已加载")
	setup_menu()
	
	# 检查是否有存档
	check_save_file()

# 设置菜单
func setup_menu():
	# 设置版本信息
	if version_label:
		version_label.text = "v0.1.0 - Alpha"
	
	# 设置按钮焦点
	if new_game_button:
		new_game_button.grab_focus()

# 检查存档文件
func check_save_file():
	if GameState and GameState.has_save_file():
		continue_button.disabled = false
		print("发现存档文件")
	else:
		continue_button.disabled = true
		print("没有存档文件")

# 新游戏按钮
func _on_new_game_button_pressed():
	print("开始新游戏")
	
	if GameManager:
		GameManager.start_new_game()
	else:
		# 直接加载第一关（备用方案）
		get_tree().change_scene_to_file("res://scenes/levels/Chapter1_Level1.tscn")

# 继续游戏按钮
func _on_continue_button_pressed():
	print("继续游戏")
	
	if GameManager:
		GameManager.continue_game()
	else:
		print("游戏管理器未找到")

# 测试关卡按钮
func _on_test_level_button_pressed():
	print("进入测试关卡")
	get_tree().change_scene_to_file("res://scenes/levels/TestLevel.tscn")

# 设置按钮
func _on_settings_button_pressed():
	print("打开设置")
	
	# 这里可以打开设置界面
	# get_tree().change_scene_to_file("res://scenes/ui/SettingsMenu.tscn")

# 退出游戏按钮
func _on_quit_button_pressed():
	print("退出游戏")
	
	if GameManager:
		GameManager.quit_game()
	else:
		get_tree().quit()

# 处理输入
func _input(event):
	if event.is_action_pressed("ui_cancel"):
		_on_quit_button_pressed()

# 显示菜单动画
func show_menu_animation():
	# 可以添加菜单显示动画
	pass

# 隐藏菜单动画
func hide_menu_animation():
	# 可以添加菜单隐藏动画
	pass